#ifndef PHYSICSDEBUGDRAWER_H
#define PHYSICSDEBUGDRAWER_H

#include <Box2D/Box2D.h>
#include "Common/Common.h"
#include "GameCore/Color.h"

class PhysicsDebugDrawer
{
public:
	PhysicsDebugDrawer( const core::Color& borderColor, const core::Color& fillColor );

	void DrawBody( const b2Body* body ) const;

private:
	void DrawShape( const cmn::Transform& pos, const b2Shape* circle ) const;
	void DrawCircle( const cmn::Transform& pos, const b2CircleShape* circle ) const;
	void DrawPolygon( const cmn::Transform& pos, const b2PolygonShape* polygon ) const;

private:
	const core::Color m_borderColor;
	const core::Color m_fillColor;
};

#endif
